"""
    目标：
        切换窗口
    需求：
        1. 打开注册实例.html
        2. 点击注册A网页
        3. 填写注册A网页内容
    方法：
        driver.current_window_handle    --> 获取当前窗口句柄
        driver.window_handles           --> 获取所有窗口句柄
        driver.switch_to.window(handle) --> 切换指定句柄窗口
"""

# 导包
from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By

# 获取浏览器驱动对象
driver = webdriver.Chrome()

# 打开url
url = r"D:\python\python-selenium-learn\a05_HTML特殊元素处理\learn-files\注册实例.html"
driver.get(url)

# 最大化浏览器
driver.maximize_window()

sleep(2)

# 获取当前窗口句柄      --> 目的：判断只要不是当前主窗口的句柄，就一定是新开的窗口句柄
current_handle = driver.current_window_handle
print("当前窗口句柄为：", current_handle)

# 点击注册A网页
driver.find_element(By.PARTIAL_LINK_TEXT, "A网页").click()
# 获取所有窗口句柄
handles = driver.window_handles
print("所有窗口句柄：", handles)

# 判断不是当前句柄
for handle in handles:
    if handle != current_handle:
        # 切换
        driver.switch_to.window(handle)

# 填写注册A页面信息
# 用户名
driver.find_element(By.CSS_SELECTOR, "#userA").send_keys("admin")
# 密码
driver.find_element(By.CSS_SELECTOR, "#passwordA").send_keys("admin")
# 电话
driver.find_element(By.CSS_SELECTOR, ".telA").send_keys("18611112222")
# 邮件
driver.find_element(By.CSS_SELECTOR, "#emailA").send_keys("123@qq.com")

# 暂停2秒
sleep(2)
# 关闭驱动对象
driver.quit()


